package com.atguigu.mybatisplus.model.form;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import java.util.List;

@Data
public class UserForm {
    /**
     * 主键ID
     */
    private Long id;
    /**
     * 用户名称
     */
    @NotBlank(message = "用户名称不能为空")
    private String username;
    /**
     * 用户昵称
     */
    @NotBlank(message = "用户昵称不能为空")
    private String nickname;
    /**
     * 手机号
     */
    @Pattern(regexp = "^$|^1(3\\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$", message = "手机号码格式不正确")
    private String mobile;
    /**
     * 性别（1-男，2-女，0-未知）
     */
    private Integer gender;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 状态（1-正常，0-停用）
     */
    @Range(min = 0, max = 1, message = "用户状态不正确")
    private Integer status;
    /**
     * 部门ID
     */
    private Long deptId;
    /**
     * 角色ID列表
     */
    @NotEmpty(message = "用户角色不能为空")
    private List<Long> roleIds;
    /**
     * 微信OpenID
     */
    private String openId;
}
